需求: (使用JDBC) 在SQL中增加时间限制
简单错误的写法:
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”);
String dateNow = df.format(new Date(System.currentTimeMillis())); //”2010-11-19″; //new Date(System.currentTimeMillis()).toString();
然后将dateNow加入到SQL中. maybe可工作, 但不能保证数据库平台迁移后仍可继续工作.
正确的解决方法, 使用PreparedStatement设定SQL参数:
StringBuilder sb = new StringBuilder("SELECT oue FROM OUEnroll oue WHERE oue.user_ID = "); sb.append(user.getUser_ID()).append(" AND (oue.dateStart IS NULL OR ").append("?2")... // 省略若干 select.setParameter(1, user.getUser_ID()); select.setParameter(2, new Date(System.currentTimeMillis()));
JDBC会根据具体的数据库Driver处理Date并加入到SQL中.
Adobe Captivate5 时间轴预览无声音 <->
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.